My Broadcom WiFi card is finally working with free software in gNewSense so I decided to make a post to explain how to make that happen for your card as well.
First you need to check your Broadcom WiFi card model: the OpenFWWF site says that 4306, 4311(rev1), 4318 and 4320 are tested and that they work. Not having one of those models is not a reason to try it, though.
Now, you need to install git-core, curl, bison and flex if they are not installed. Get b43-tools (http://git.bu3sch.de/git/b43-tools.git)and compile it.
After that’s done compiling (it should take 2 seconds or so), you need to download the firmware. Lastest firmware as of today is 5.2.
Extract the tar.gz and just “make”. When that’s done compiling (it also takes very little time) you’ll have 3 .fw files in your openfwwf directory. Those 3 files need to be copied to /lib/firmware/b43-open/ .
Then you need to install Linux-libre v2.6.30. A neatly packaged image can be found at my friend Ali Gündüz‘s Freedom Shoppe.
After that you need to pass an option to the b43 module. You do that by adding a line that says “options b43 qos=0” (without quotes) to the /etc/modprobe.d/options file. I also added b43 to /etc/modules but that might not be necessary.
Here’s a step by step copypastable list of all the commands for you (you may need to change the version number of the firmware or the kernel, depending on when you read this post; also make sure that WordPress is not using formatted quotation marks):
cd
sudo apt-get install git-core curl bison flex
git clone git://git.bu3sch.de/b43-tools.git
cd b43-tools/assembler
make
sudo make install
cd
wget http://www.ing.unibs.it/openfwwf/firmware/openfwwf-5.2.tar.gz
tar zxvf openfwwf-5.2.tar.gz
cd openfwwf-5.2
make
sudo mkdir /lib/firmware/b43-open
sudo cp *.fw /lib/firmware/b43-open/
cd
wget http://aligunduz.org/gNewSense/freedomshoppe/linux-image-2.6.30-libre-fshoppe1_i386.deb
sudo dpkg -i linux-image-2.6.30-libre-fshoppe1_i386.deb
sudo -i
echo “options b43 qos=0 nohwcrypt=1” >> /etc/modprobe.d/options
echo “b43” >> /etc/modules
logout
I restarted and booted with the 2.6.30 kernel and my card was working. dmesg confirmed that I was using the free firmware:
[ 8460.884239] b43-phy0: Loading OpenSource firmware version 410.31754 (Hardware crypto not supported)
I would’ve liked it to say “free software”, just like I would’ve liked the firmware to be called free and not open, but that’s extra.
Enjoy your WiFi with freedom!
EDIT: I updated the openfwwf version to 5.2
EDIT2: updated the git repo for b43-tools
Miguel said
Not only he’s not dead….and he’s posting too!!! way to go my friend!!!
BTW: Excellent news!! Wife’s computer has a broadcom card, I will try it and will let you know hot it works.
PS: Why I don’t try it out first and then post into your blog is a big mystery of human nature
Kenny Ossa said
Leo! Muy bueno el Post, sólo dos cositas…
1) Al principio usas el wget con openfwwf-5.2.tar.gz, luego se hace referencia a openfwwf-5.1.tar.gz
2) Se debe usar comillas simples en:
echo “options b43 qos=0″ >> /etc/modprobe.d/options
echo “b43″ >> /etc/modules
sino, se agregan las comillas dobles junto con el texto y probablemente nos de un warning al levantar el módulo, por ejemplo.
Excelente, trabajo. Gracias!
leorockway said
@Kenny Ossa:
Gracias, pensé que había cambiado todos los 5.1 por 5.2.
Es perfectamente válido usar comillas dobles ahí, excepto que WordPress les pone estilo. Debería averiguar como cambiar eso.
Broadcom Wifi Card – Making it work with Free Software « Tenzin’s Weblog said
[…] my misfortunes with the wifi card on #gnewsense on freenode. gnufs on #gnewsense pointed me to https://leorockway.wordpress.com/2009/07/04/0c00-0-network-controller-broadcom-corporation-bcm4311-80… . There, I came to know about OpenFWWF , a project “that provides an open source firmware […]
David Bailey said
You are awesome. I followed the steps and my wifi is working.
The fix on the gNS site kept giving me errors but you have fixed the problem.
Lack of wifi support for b43 drivers was the reason I had to uninstall gNS 2.2.
Socrates Piña said
Hi I need to know if you can a wifi gnewsense bcm in 4312 in a Dell Inspiron 1545
leorockway said
4312 doesn’t appear to be supported yet.
Spartic said
openfwwf Makefile should include in $(BCMASM) line -d after —
(it will tell you if you have errors on the assembler)
Tenzin Dendup said
Is it working for 4312 now??
Sameer Mohamed Thahir said
Update!!
Broadcom releases a free driver, see this page.
http://lwn.net/Articles/404248/
vando said
Nice! I’ve a Lenovo 3000 N200 with the same wifi chipset and now it works entirely with Software Libre (Parabola, of course).